package com.passion.domain.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.passion.base.AbstractMpEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableLogic;

 /**
  * 【t_sys_dict】表实体类;
  * 表备注：字典表
  * @author ZhuYin<zyexplorej2ee@sina.com>
  * @since  2024年11月29日
  */
@ApiModel(value = "字典表")
@EqualsAndHashCode(callSuper = false)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("t_sys_dict")
public class SysDict extends AbstractMpEntity<SysDict, String> {

    /** 主键ID */
    @ApiModelProperty(name = "主键ID")
    @TableId
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "JDBC")
    private String id;
    
    /** 父ID */
    @ApiModelProperty(name = "父ID")
    private String parentId;
    
    /** 字典编码 */
    @ApiModelProperty(name = "字典编码")
    private String dictCode;
    
    /** 字典类型：1.目录 2.分组 3.字典码 */
    @ApiModelProperty(name = "字典类型：1.目录 2.分组 3.字典码")
    private String dictType;
    
    /** 对应字典编码类型的名称 */
    @ApiModelProperty(name = "对应字典编码类型的名称")
    private String dictName;
    
    /** 字典编码值 */
    @ApiModelProperty(name = "字典编码值")
    private String dictValue;
    
    /** 字典编码备注 */
    @ApiModelProperty(name = "字典编码备注")
    private String dictRemark;
    
    /** 删除标识：0-正常 1-已删除 */
    @ApiModelProperty(name = "删除标识：0-正常 1-已删除")
    private String delFlag;
    
    /** 创建人ID */
    @ApiModelProperty(name = "创建人ID")
    @TableField(fill = FieldFill.INSERT)
    private String createId;
    
    /** 创建时间 */
    @ApiModelProperty(name = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    
    /** 最后一次更新人ID */
    @ApiModelProperty(name = "最后一次更新人ID")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String updateId;
    
    /** 最后一次更新时间 */
    @ApiModelProperty(name = "最后一次更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;
    
    /** 删除人ID */
    @ApiModelProperty(name = "删除人ID")
    private String deleteId;
    
    /** 删除时间 */
    @ApiModelProperty(name = "删除时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date deleteTime;
    
}
